package ar.com.sistventa.form.clientes;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;

public class ClientesForm extends JDialog {

	private static final long serialVersionUID = 1L;
	private final JPanel contentPanel = new JPanel();
	private JTextField txtCodigo;
	private JTextField txtNombre;
	private JTable tbCliente;
	private JButton btnNuevoCliente;
	private JButton btnModificarCliente;
	private JButton btnEliminarCliente;

	/**
	 * Create the dialog.
	 */
	public ClientesForm(JFrame parent, boolean modal) {
		super(parent, modal);
		setLocationRelativeTo(parent);
		setTitle("Clientes");
		initForm();
	}

	@SuppressWarnings("serial")
	private void initForm() {
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 707, 467);
		getContentPane().setLayout(null);
		contentPanel.setBounds(0, 0, 682, 494);
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel);
		contentPanel.setLayout(null);
		{
			JMenuBar menuBar = new JMenuBar();
			menuBar.setBounds(0, 0, 700, 21);
			contentPanel.add(menuBar);
			{
				JMenu mnCliente = new JMenu("Clientes");
				menuBar.add(mnCliente);

				JMenuItem mniNuevoCliente = new JMenuItem("Nuevo");
				mnCliente.add(mniNuevoCliente);

				JMenuItem mniModificarCliente = new JMenuItem("Modificar");
				mnCliente.add(mniModificarCliente);

				JMenuItem mniEliminarCliente = new JMenuItem("Eliminar");
				mnCliente.add(mniEliminarCliente);

				JMenuItem mniBuscarCliente = new JMenuItem("Buscar");
				mnCliente.add(mniBuscarCliente);
			}

			JMenu mnImportarExportar = new JMenu("Importar / Exportar");
			menuBar.add(mnImportarExportar);

			JMenuItem mniImportarAExcel = new JMenuItem("Importar a Excel");
			mnImportarExportar.add(mniImportarAExcel);

			JMenu mnConfiguracion = new JMenu("Configuracion");
			menuBar.add(mnConfiguracion);

			JMenuItem mniColumnasAMostrar = new JMenuItem("Columnas a Mostrar");
			mnConfiguracion.add(mniColumnasAMostrar);
		}

		JPanel panelTabla = new JPanel();
		panelTabla.setBounds(10, 110, 672, 234);
		contentPanel.add(panelTabla);
		panelTabla.setLayout(null);

		JScrollPane scrollPaneCliente = new JScrollPane();
		scrollPaneCliente.setBounds(0, 0, 672, 232);
		panelTabla.add(scrollPaneCliente);

		tbCliente = new JTable();
		tbCliente.setModel(new DefaultTableModel(new Object[][] {},
				new String[] { "Codigo", "Nombre", "Direccion", "Telefono",
						"Mail" }) {
			@SuppressWarnings("rawtypes")
			Class[] columnTypes = new Class[] { String.class, String.class,
					String.class, String.class, String.class };

			@SuppressWarnings({ "unchecked", "rawtypes" })
			public Class getColumnClass(int columnIndex) {
				return columnTypes[columnIndex];
			}

			boolean[] columnEditables = new boolean[] { false, false, false,
					false, false };

			public boolean isCellEditable(int row, int column) {
				return columnEditables[column];
			}
		});
		tbCliente.getColumnModel().getColumn(0).setResizable(false);
		tbCliente.getColumnModel().getColumn(1).setResizable(false);
		tbCliente.getColumnModel().getColumn(2).setResizable(false);
		tbCliente.getColumnModel().getColumn(3).setResizable(false);
		tbCliente.getColumnModel().getColumn(4).setResizable(false);
		scrollPaneCliente.setViewportView(tbCliente);

		JPanel panelBusqueda = new JPanel();
		panelBusqueda.setBounds(10, 41, 672, 50);
		contentPanel.add(panelBusqueda);
		panelBusqueda.setLayout(null);

		JLabel lblCodigo = new JLabel("Codigo:");
		lblCodigo.setBounds(10, 14, 46, 14);
		panelBusqueda.add(lblCodigo);

		txtCodigo = new JTextField();
		txtCodigo.setBounds(80, 10, 150, 20);
		panelBusqueda.add(txtCodigo);
		txtCodigo.setColumns(10);

		JLabel lblNombre = new JLabel("Nombre:");
		lblNombre.setBounds(270, 14, 63, 14);
		panelBusqueda.add(lblNombre);

		txtNombre = new JTextField();
		txtNombre.setBounds(330, 10, 150, 20);
		panelBusqueda.add(txtNombre);
		txtNombre.setColumns(10);
		
		JButton btnBuscar = new JButton("Buscar");
		btnBuscar.setBounds(518, 10, 91, 23);
		panelBusqueda.add(btnBuscar);

		JPanel panelBotones = new JPanel();
		panelBotones.setBounds(10, 355, 672, 65);
		contentPanel.add(panelBotones);
		panelBotones.setLayout(null);

		btnNuevoCliente = new JButton("Nuevo");
		btnNuevoCliente.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				eventoBotonNuevoCliente();
			}
		});
		btnNuevoCliente.setBounds(10, 23, 91, 23);
		panelBotones.add(btnNuevoCliente);

		btnModificarCliente = new JButton("Modificar");
		btnModificarCliente.setBounds(116, 23, 91, 23);
		panelBotones.add(btnModificarCliente);

		btnEliminarCliente = new JButton("Eliminar");
		btnEliminarCliente.setBounds(225, 23, 91, 23);
		panelBotones.add(btnEliminarCliente);
	}

	private void eventoBotonNuevoCliente() {
		AgregarModificarClientesForm agregarModificarClientesForm = new AgregarModificarClientesForm(
				this, true, null);
		agregarModificarClientesForm.setVisible(true);
	}

}
